特点
- 强类语言,所有代码都必须为类的一部分
- 类定义方式“Public class CLASSNAME”
- 使用 { } 描述开始与结束
- 结束时使用 ;
- 想运行的代码必须位于 “public static void main(String[] args)” 之中
- 使用变量前需要声明,且类型无法强制转化
- 函数在类之中,并用 “public static” 定义函数(公共静态)
基础语法
作业 0A:Java 语法 |CS 61B 春季 2024 — Homework 0A: Java Syntax | CS 61B Spring 2024 (datastructur.es)
作业 0B:数据结构 |CS 61B 春季 2024 — Homework 0B: Data Structures | CS 61B Spring 2024
一些注意点
- array不能直接打印,使用 Arrays.toString(array)
- array不支持切片和负索引
类的使用
- 将使用的类的静态(static)删除
- 在main函数中创建实例
- Dog d = new Dog()
- 接下来的操作在d上发生
- 唯一构造函数,用于定义类中的变量(__init__)
- public Dog(int x)
术语
- 静态:函数无法访问上下文的函数外的变量
- Dog Smalldog 声明狗变量
- new Dog(10)创造狗实例,但无法保留
- Dog[] dogs=new Dog[2] 创造狗列表,无实例
- dogs[0] = new Dog(20) 创建狗实例
Static
- 静态方法和实例方法(非静态方法)
- 静态方法
- 无法访问实例变量
- 实例方法
- 需要实例化以后才可以使用
- 感觉像是python中函数和类方法之间的差异,一个调用类名,一个调用实例
public static Dog maxDog(Dog d1, Dog d2) {
if (d1.weightInPounds > d2.weightInPounds) {
return d1;
}
return d2;
}
//静态方法
调用:Dog.maxDog(d, d2)
public Dog maxDog(Dog d2) {
if (weight > d2.weight) {
return this;
}
//非静态方法
调用:bigger = d.maxDog(d2);
编写程序的思考方式
- 增加代码可读性
- help method
附:Git使用方法
- 上传步骤
git add lab01/src/Arithmetic.java
git commit -m "lab01: Completed Arithmetic.java"
git push origin main